package com.guogz.pic.sevice.dto;

import java.io.Serializable;

/**
 * @类描述： 响应数据对象
 * @类名称：ResponseData
 * @创建人：GuoGuanzhi
 * @创建时间：2018年10月10日上午10:58:57
 * @mail Hunter909683502@126.com
 */
public class ResponseData<T> implements Serializable{
	

	private static final long serialVersionUID = 2571738280662287402L;
	
	private Integer code;
	private String message;
	private T data;
	public ResponseData(T data) {
		this.code = 0;
		this.message = "success";
		this.data = data;
	}
	
	public ResponseData(Integer code, String message) {
		this.code = code;
		this.message = message;
		this.data = null;
	}
	
	public Integer getCode() {
		return code;
	}
	public void setCode(Integer code) {
		this.code = code;
	}
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public T getData() {
		return data;
	}
	public void setData(T data) {
		this.data = data;
	}
	
	/**
	 * @描述: 请求成功的时候调用的方法。 默认返回的code 是0
	 * @方法名: success
	 * @param data
	 * @return
	 * @返回类型 ResponseData<T>
	 * @创建人 GuoGuanzhi
	 * @创建时间 2018年10月10日上午11:05:32
	 * @throws
	 */
	public static <T> ResponseData<T> success(T data){
		return new ResponseData<T>(data);
		
	}
	
	/**
	 * @描述: 上传失败，返回数据为null
	 * @方法名: error
	 * @param errorCode
	 * @return
	 * @返回类型 ResponseData<T>
	 * @创建人 GuoGuanzhi
	 * @创建时间 2018年10月10日上午11:12:22
	 * @throws
	 */
	public static <T> ResponseData<T> error(ErrorCode errorCode){
		return new ResponseData<>(errorCode.getCode(), errorCode.getMessage());
	}
	
}
